package model;

import java.util.List;

import persistencia.AdmPersistenciaPremio;

public class Premio {
	private float monto;
	private List<Casilla> casillas;
	private int codigo;
	private static Integer proximoNumero=0;
	
	public Premio(List<Casilla> casillasPremio,int id,float monto) {
		this.casillas=casillasPremio;
		this.monto=monto;
		this.codigo=id;
	}

	static {
		proximoNumero=AdmPersistenciaPremio.getInstancia().getCantidadPremios();
	}


	public Premio(List<Casilla> casillasPremio, Float monto) {
		this.casillas=casillasPremio;
		this.monto=monto;
		this.codigo=getProximoNumero();
		AdmPersistenciaPremio.getInstancia().insertarPremio(casillasPremio,monto,codigo);
		
	}

	public Premio(Integer codigoPremio, float monto) {
		this.monto=monto;
		this.codigo=codigoPremio;
	}



	public float getMonto() {
		return monto;
	}



	public int getCodigo() {
		return codigo;
	}

	private void add(Casilla casilla){
		casillas.add(casilla);
	}
	


	public List<Casilla> getCasillas() {
		return casillas;
	}

	public void setCasillas(List<Casilla> casillas) {
		this.casillas = casillas;
	}

	protected static Integer getProximoNumero(){
		return ++proximoNumero;
	}



	public static boolean formatearPremios() {
		return AdmPersistenciaPremio.getInstancia().eliminarPremios();
		
	}



	public boolean esGanador(List<Casilla> casillasJuego) {
		boolean result=true;
		for (int i=0;i<casillasJuego.size() && result;i++){
			result= result && casillas.get(i).equals(casillasJuego.get(i));
		}
		return result;
	}
	
}
